#include <iostream>
#include <algorithm> //算法有关的头文件
#include <vector> 

using namespace std;

/*
	省略号的作用：可以匹配任何类型的异常
*/

int fun(int n) noexcept(false)  //noexcept(false)是异常规范，告知程序员该函数可能会抛出任意类型的异常
{
	if(n>0 && n<10)
		return 0; //成功
	else if(n<0)
		throw -1;   //抛出整型异常
	else if(n>=10 && n<100)
		throw 6.66; //抛出浮点型异常
	else
		throw "字符串异常";
}
int main()
{
	try  //尝试
	{
		//fun(12);   //成功，catch不会执行
		fun(-12);  //失败，catch会执行
		//fun(0);      //失败，catch会执行
	}catch(...)
	{
		cout<<"函数调用失败，fun抛出了随便什么异常，我都能捕捉"<<endl;
	}
	cout<<"主函数继续往后执行"<<endl;
}